﻿'*******************************************************************************************
'* Copyright Brügmann Software GmbH, Papenburg
'* Author: Björn Kremer
'* Contact: codeplex<at>patorg.de
'* 
'* VB.CMIS is a VB.NET implementation of the Content Management Interoperability Services (CMIS) standard
'*
'* This file is part of VB.CMIS.
'* 
'* VB.CMIS is free software: you can redistribute it and/or modify
'* it under the terms of the GNU Lesser General Public License as published by
'* the Free Software Foundation, either version 3 of the License, or
'* (at your option) any later version.
'* 
'* VB.CMIS is distributed in the hope that it will be useful,
'* but WITHOUT ANY WARRANTY; without even the implied warranty of
'* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
'* GNU Lesser General Public License for more details.
'* 
'* You should have received a copy of the GNU Lesser General Public License
'* along with VB.CMIS. If not, see <http://www.gnu.org/licenses/>.
'*******************************************************************************************

Imports System.ServiceModel.Web
Namespace Services.WCFHelper
   Public Class CustomUsernamePasswordValidator
      Inherits System.IdentityModel.Selectors.UserNamePasswordValidator

      ''' <summary>
      ''' Validates the username and password submitted by the client.
      ''' </summary>
      ''' <param name="userName"></param>
      ''' <param name="password"></param>
      ''' <remarks></remarks>
      Public Overrides Sub Validate(userName As String, password As String)
         If Not New ProviderManager().Provider.IsUserValid(userName, password) Then
            Throw New WebFaultException(Net.HttpStatusCode.Forbidden)
         End If
      End Sub
   End Class
End Namespace